package com.atguigu.gmall.realtime.bean;

import lombok.Data;

import java.math.BigDecimal;

/**
 * @Description: 订单表
 * @Author: tiancy
 * @Create: 2021/11/26
 */
@Data
public class OrderInfo {

    // 订单表需要关联 维度表中的 用户表和地区表

    /** 订单id*/ // 订单表的主键 使用这个字段去 关联订单明细表中的订单id  OrderInfo.id=OrderDetail.order_id
    Long id;
    /** 订单省份id,需要使用这个字段来关联 省份表 */   // OrderInfo.province_id = `base_province`.id
    Long province_id;
    /** 订单状态 */
    String order_status;
    /** 用户 id,需要使用这个字段关联 维度表中的 用户表 */ // OrderInfo.user_id = `user_info`.id
    Long user_id;
    /** 订单最终实付金额 */
    BigDecimal total_amount;
    /** 参与活动优惠金额 */
    BigDecimal activity_reduce_amount;
    /** 购物券抵用金额 */
    BigDecimal coupon_reduce_amount;
    /** 原始金额 */
    BigDecimal original_total_amount;
    /** 运费 */
    BigDecimal feight_fee;
    /** 订单失效时间 */
    String expire_time;
    /** 订单创建时间*/
    String create_time;
    /** 操作时间 */
    String operate_time;
    // 这里将 create_time 进行拆分,主要用于订单和订单明细join时,可能需要使用到开窗操作.相同窗口的数据放到一个时间窗口中处理.
    /** 通过创建订单时间获得 日期 yyyy-MM-dd  */
    String create_date; // 把其他字段处理得到
    /** 通过创建订单时间获得 HH  */
    String create_hour;
    /** 使用Flink水位线时,需要指定Long类型的毫秒数作为水位线. */
    Long create_ts;
}